Information Technology Systems
Typically, users, which may be people or other systems, engage computers to facilitate information processing. A computer operating system enables and facilitates users to access and operate computer information technology. Information technology systems provide interfaces that allow users to access and operate the various systems.
User Interface
The function of computer interfaces such as cursors, menus, and window components are, in many respects, similar to automobile operation interfaces. Automobile operation interfaces such as steering wheels, gearshifts, and speedometers facilitate the access, operation, and display of automobile resources, functionality, and status. Computer interaction interfaces such as cursors, menus, and windows similarly facilitate the access, operation, and display of computer hardware and operating system resources, functionality, and status. Operation interfaces are commonly called user interfaces. Graphical user interfaces (GUIs) such as the Apple Macintosh Operating System or Microsoft's Windows provide a baseline and means of accessing and displaying information.
World Wide Web
The proliferation and expansion of computer systems, databases, the Internet, and particularly the World Wide Web (the web), have resulted in a vast and diverse collection of information. Various user interfaces that facilitate the interaction of users with information technology systems (i.e., people using computers) are currently in use. An information navigation interface called WorldWideWeb.app (the web) was developed in late 1990. Subsequently, information navigation interfaces such as web browsers have become widely available on almost every computer operating system platform.
Generally, the web is the manifestation and result of a synergetic interoperation between user interfaces (e.g., web browsers), servers, distributed information, protocols, and specifications. Web browsers were designed to facilitate navigation and access to information, while information servers were designed to facilitate provision of information. Typically, web browsers and information servers are disposed in communication with one another through a communications network. As such, information servers typically provide information to users employing web browsers for navigating and accessing information about the web. Microsoft's Internet Explorer and Netscape Navigator are examples of web browsers. In addition, navigation user interface devices such as WebTV have also been implemented to facilitate web navigation. Microsoft's Information Server and Apache are examples of information servers, i.e., their function is to serve information to users that typically access the information by way of web browsers.
Network Transfer Mechanisms
The proliferation and expansion of computer information systems coincides with an increase in network use. Often, transfers of data over a communications network requires the transmission of data packets. A piece of data on a computer system, for example a file, is broken up into pieces of data called packets, and sent to a destination computer system that assembles the received packets. One basic and underlying protocol for such packet transmissions is Transmission Control Protocol Internet Protocol (TCP/IP). The increased use of various communication networks has resulted in increased network traffic. Often, transfers of data over a communication network results in lost or missing data packets.
One model enabling file transfer is the peer-to-peer model. Peer-to-peer is a communications model in which each party has the same capabilities and either party can initiate a communication session. Peers are often referred to as nodes on a network.
Various transfer mechanisms and protocols exist enabling for the transfer of data from one computer system to another. There are at least two basic types of transfer mechanisms: Automatic Retransmission reQuest (ARQ) based implementations and non-ARQ implementations. ARQ based transfer mechanisms request retransmissions for packets of data that are lost in transmission. The receiving computer system triggers retransmissions by explicit or implicit (based on timeouts) ACK/NACKs. The ACK/NACKs are basically acknowledgements that a data packet was or was not successfully received. One old example of an ARQ based mechanism is File Transfer Protocol (FTP). Non-ARQ based mechanisms may sometimes use Forward Error Correction to add a level of reliability. Multicast is another transport mechanism that attempts to deliver a great amount of data to a great number of computers. (See A Reliable Multicast data Distribution Protocol based on software FEC techniques (RMDP), (with Lorenzo Vicisano, UCL), Proc. of the Fourth IEEE HAIEM'97 Workshop, Chalkidiki, Grece, June 1997 <http://www.iet.unipi.it/˜luigi/hAIEM97.ps.gz>; and Gemmell, Jim, Schooler, Eve, and Gray, Jim, Fcast Scalable Multicast File Distribution: Caching and Parameters Optimizations, Microsoft Research Technical Report, MSR-TR-99-14, June 1999 <http://www.research.microsoft.com/˜JGemmell/pubs/FcastTR-99-14.doc>).
Increased network traffic has strained current communication networks, leading to higher rates of data loss during transmission, and in turn, further worsening network transfers rates. Furthermore, new network applications increasingly involve larger sized transfers of data, which has resulted in increased bandwidth problems. The growing use of communication networks has resulted in an overall problem with regard to network transmission delivery speeds. Such network speed problems in many instances frustrate users.